This invention generally relates to the transmission of data packets over digital communication systems. In particular, the invention relates to a method and apparatus for operating a communication system using a reduced memory hybrid automatic repeat request.
Transmission of data packets over wired and wireless links needs to be fast and reliable. Speed requirements are set by seemingly ever-increasing data transfer rates, and quality of service requirements are set by increasing system needs for accuracy in transmissions.
Digital data transmissions over wired and wireless links sometimes may be corrupted, for instance, by noise in the link or channel, by interference from other transmissions (e.g., radio), or by environmental factors related to, for example, the speed, direction, location and requests between transmitting and receiving units. Even with clear communication channels (i.e., channels with limited corruption), which lend themselves to the high data rates, it may not be possible to appropriately decode the data stream with the requisite error rates. Digital data transmissions may also be limited by an inability of the receiving or transmitting equipment to appropriately encode and decode the data stream at the speeds desired with the requisite error rates.
In other situations, it may be infeasible to provide hardware suitable for high rate data transmission at a cost and portability demanded by the application. Requested services may range from voice communications over high-speed Internet connections to video conferencing. The hardware at the receiver end should be light and small, and use minimal amounts of power. Similarly, digital signal processing hardware for accurate conveyance of data packets should be compact and consume low power. Portability restrictions may require that all system attributes be well designed, using a minimal amount of integrated circuits, electronic components, batteries, and other components.
Error detection and correction codes typically provide mechanisms necessary to reliably receive and decode data packets. Forward error correction (FEC) codes allow decoders to accurately reconstruct data packets received with possible errors at the expense of some additional overhead (e.g., extra parity bits, extra symbols). Forward error protection may protect a data packet. With FEC, the protected data packet is generally xe2x80x9cself-decodingxe2x80x9d in that all the data (information) required to reconstruct the data packet is within a single receive block. Stored data may rely on FEC for reliable extraction. In two-way systems, an opportunity for requesting that a data packet be retransmitted upon detection of an error may be available. An automatic repeat request (ARQ) may be sent upon detection of an error using, for example, a parity bit check or a cyclic redundancy check (CRC), and then the original data packet may be discarded. Upon receipt of an ARQ request, the packet may simply be retransmitted in its original form.
While this simple combination of ARQ and FEC is sometimes called Type I hybrid ARQ, the term xe2x80x9chybrid ARQxe2x80x9d is usually reserved for a more complex procedure where a receiver may combine previously received erroneous packets with a newly received packet in an effort to successfully ascertain the contents of the packet. The general procedure in a hybrid automatic repeat request (HARQ) system is that a receiver may generate an indicator, such as an ARQ request, upon detection of an error in the received data packet. Unlike Type I ARQ, the receiver does not discard previously received erroneous packets. The receiver may keep (e.g., store) the entire or portions of the erroneous packet because the erroneous packet may still contain worthwhile information, and therefore is not discarded when using HARQ. By combining erroneous packets, the receiver may be able to assist the FEC to correct the errors. The receiver may require, however, an abundance of volatile memory for storing previous data packets and provisioning for the needs of the HARQ decoder. A HARQ buffer may contain a large amount of memory designated for just this purpose. Large memory requirements, particularly in portable, mobile equipment, may require excessively large space and consume an excessively large amount of power. A method for decreasing the amount of memory required for a HARQ system is therefore desirable. Methods for managing and optimizing volatile memory available in a communication system are also desirable. The method should be compatible with any ARQ protocol, such as selective-repeat or multi-channel stop-and-wait, and capable of being used with all underlying types of HARQ.
As demands for higher data rates increase, techniques for inserting more data into a single channel or into multiple channels become more attractive. Adaptive modulation and control (AMC) techniques adjust the modulation scheme used for the transmission of a data packet. A clear channel, for example, may use a high order of modulation to transmit data at a higher rate. A noisy (or possibly faded, and/or interference-limited) channel may require the use of a lower order of modulation and a consequently lower data rate. When the channel clears up, a high order of modulation technique may be used again. Multiple input, multiple output (MIMO) transmission techniques utilizing multiple antennas for transmitting and receiving radio-frequency signals enhance the data rates that are possible using multiple channels. Effective HARQ architectures are needed to extract the full advantages of AMC and MIMO for higher data rates, while retaining compatibility with ARQ and HARQ systems.
It is the object of this invention, therefore, to provide a method for the rapid and reliable transmission of data packets over wired links and wireless links, and overcome the deficiencies and obstacles described above.
One aspect of the invention provides a method of operating a hybrid automatic repeat request communication system in a receiver. A determination may be made on whether the receiver can process a data packet, and a self-decode request associated with the data packet may be sent based on the determination. The determination may be based on the availability of a hybrid automatic repeat request memory buffer. The determination may be based on a decoder metric generated from decoding the data packet. The decoder metric may be compared to a predetermined decoding threshold. The determination may be based on a channel quality attribute. The self-decode request may comprise a request for a self-decodable data packet. The self-decode request may comprise a request for a non-self-decodable data packet. The self-decode request may comprise a self-decode request field of at least one bit. The method may include allocating a portion of a hybrid automatic repeat request memory buffer pool to a reserved buffer. The method may also include storing the data packet in the reserved buffer prior to decoding.
Another aspect of the current invention is a hybrid automatic repeat request communication system comprising a means for determining whether a receiver can process a data packet, and a means for sending a self-decode request associated with the data packet based on the determination. The system may comprise a means for allocating a portion of a hybrid automatic repeat request memory buffer pool to a reserved buffer. The system may also comprise a means for storing the data packet in the reserved buffer prior to decoding.
Another aspect of the current invention is a computer usable medium including a program for operating a hybrid automatic repeat request communication system that contains computer program code for determining whether a receiver can process a data packet, and computer program code for sending a self-decode request associated with the data packet based on the determination. The computer program code may allocate a portion of a hybrid automatic repeat request memory buffer pool to a reserved buffer. The computer program code may store the data packet in the reserved buffer prior to decoding.
Another aspect of the current invention is a method of operating a hybrid automatic repeat request communication system. A determination may be made on whether a self-decode request has been received at a transmitter, and a self-decodable data packet may be generated at the transmitter based on the self-decode request determination. The self-decode request may be received from a hybrid automatic repeat request communication device in response to a memory availability determination. The self-decode request may be received from a hybrid automatic repeat request communication device in response to a channel decoder status. The method may comprise a determination on whether a negative-acknowledgement signal has been received at the transmitter in response to a transmitted data packet, and a generation of the self-decodable data packet based on the negative-acknowledgement signal determination. The method may comprise a determination on whether one of an acknowledgement signal or a negative-acknowledgement signal in response to a transmitted data packet has been received within a predetermined period of time at the transmitter, and the self-decodable data packet may be generated if it is determined that the acknowledgement signal or negative-acknowledgement signal has not been received.
Another aspect of the current invention is a hybrid automatic repeat request communication system comprising a means for determining whether a self-decode request has been received at a transmitter, and a means for generating a self-decodable data packet at the transmitter based on the self-decode request determination. The system may also comprise a means for determining whether a negative-acknowledgement signal has been received at the transmitter in response to a transmitted data packet, and a means for generating the self-decodable data packet based on the negative-acknowledgement signal determination. The system may include a means for determining whether one of an acknowledgement signal or a negative-acknowledgement signal in response to a transmitted data packet has been received within a predetermined period of time at the transmitter, and a means for generating the self-decodable data packet if it is determined that the acknowledgement signal or negative-acknowledgement signal has not been received.
Another aspect of the current invention is a computer usable medium including a program for operating a hybrid automatic repeat request communication system that contains computer program code for determining whether a self-decode request has been received at a transmitter, and computer program code for generating a self-decodable data packet based on the self-decode request determination. The computer program code may determine whether a negative-acknowledgement signal has been received at the transmitter in response to a transmitted data packet, and may generate the self-decodable data packet based on the negative-acknowledgement signal determination. The computer program code may determine whether one of an acknowledgement signal or a negative-acknowledgement signal in response to a transmitted data packet has been received within a predetermined period of time at the transmitter, and may generate the self-decodable data packet if it is determined that the acknowledgement signal or negative-acknowledgement signal has not been received.
Another aspect of the current invention is a hybrid automatic repeat request communication device in a receiver comprising a hybrid automatic repeat request buffer control unit, a pool of memory connected to the hybrid automatic repeat request buffer control unit to manage the pool of memory, a combine and store unit connected to the hybrid automatic repeat request buffer control unit to generate a channel decoder input based on a data packet, and a channel decoder connected to the combine and store unit to process the channel decoder input, where the data packet may be stored in the pool of memory in response to a hybrid automatic repeat request buffer memory determination. The hybrid automatic repeat request buffer control unit may partition the pool of memory into a reserved buffer and at least one hybrid automatic repeat request memory buffer. The partitioning of the pool of memory may be based on a statistical method to store the data packet. A self-decode request generator may be connected to the hybrid automatic repeat request buffer control unit and may be connected to the channel decoder. The self-decode request generator may send a self-decode request in response to the hybrid automatic repeat request buffer memory determination. The self-decode request generator may send a self-decode request in response to a channel decoder status.
Another aspect of the current invention is a hybrid automatic repeat request communication device in a transmitter comprising a self-decode request latch to provide an encoding scheme selection input in response to a self-decode request, an encoder control unit connected to the self-decode request latch to select an encoding scheme associated with an input data packet based on the encoding scheme selection input, and a channel encoder connected to the encoder control unit to encode the input data packet, where the input data packet may be encoded as a self-decodable data packet by the channel encoder in response to the self-decode request.
The aforementioned, and other features and advantages of the invention will become further apparent from the following detailed description of the presently preferred embodiments, read in conjunction with the accompanying drawings. The detailed description and drawings are merely illustrative of the invention rather than limiting, the scope of the invention being defined by the appended claims and equivalents thereof.